/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.seguradora.service;

import br.com.seguradora.model.repository.impl.RepositoryFactoryImpl;
import br.com.seguradora.model.repository.RepositoryFactory;
import br.com.seguradora.exception.PersistenciaException;
import br.com.seguradora.model.Oficina;
import br.com.seguradora.model.repository.TodasOficinas;
import br.com.seguradora.view.DisplayFilter;
import java.util.List;

/**
 *
 * @author Diego
 */
public class OficinaService {

    private TodasOficinas todasOficinas;

    public OficinaService() {
        RepositoryFactory repositoryFactory = new RepositoryFactoryImpl();
        todasOficinas = repositoryFactory.createOficinaRepository();
    }

    public boolean inserir(Oficina oficina) throws PersistenciaException {
        return todasOficinas.inserir(oficina);
    }

    public boolean atualizar(Oficina oficina) throws PersistenciaException {
        return todasOficinas.atualizar(oficina);
    }

    public boolean excluir(Oficina oficina) throws PersistenciaException {
        return todasOficinas.excluir(oficina);
    }

    public List<Oficina> listarTodos(int... limits) throws PersistenciaException {
        return todasOficinas.listarTodos(limits);
    }

    public List<Oficina> listarPelaRazaoSocial(String razaoSocial, DisplayFilter displayFilter) throws PersistenciaException {
        return todasOficinas.listarPelaRazaoSocial(razaoSocial, displayFilter);
    }

    public List<Oficina> listarPeloResponsavel(String responsavel, DisplayFilter displayFilter) throws PersistenciaException {
        return todasOficinas.listarPeloResponsavel(responsavel, displayFilter);
    }

    public List<Oficina> listarPeloCep(String cep, DisplayFilter displayFilter) throws PersistenciaException {
        return todasOficinas.listarPeloCep(cep, displayFilter);
    }

    public void getTelefones(Oficina oficina) throws PersistenciaException {
        todasOficinas.getTelefones(oficina);
    }
}
